package py.com.alfa.escriba.gui.dto.admin;

import java.util.ArrayList;
import java.util.List;

import org.codehaus.jackson.annotate.JsonIgnoreProperties;

@JsonIgnoreProperties(ignoreUnknown = true)
public class ClienteInfoDTO extends ClienteDTO {

	private List<TelefonoDTO>  telefonos;
	private List<DomicilioDTO> domicilios;
	private List<Long>         eliminados;
	
	public ClienteInfoDTO() {
		setPersona(new PersonaDTO());
		this.telefonos = new ArrayList<TelefonoDTO>();
		this.domicilios = new ArrayList<DomicilioDTO>();
		this.eliminados = new ArrayList<Long>();
	}
	
	public ClienteInfoDTO(ClienteDTO dto) {
		this.setActivo(dto.isActivo());
		this.setId(dto.getId());		
		this.setTrn(dto.getTrn());
		
		this.telefonos = new ArrayList<TelefonoDTO>();
		this.domicilios = new ArrayList<DomicilioDTO>();
		this.eliminados = new ArrayList<Long>();
	}
	
	public List<TelefonoDTO> getTelefonos() {
		return telefonos;
	}

	public void setTelefonos(List<TelefonoDTO> telefonos) {
		this.telefonos = telefonos;
	}

	public List<DomicilioDTO> getDomicilios() {
		return domicilios;
	}

	public void setDomicilios(List<DomicilioDTO> domicilios) {
		this.domicilios = domicilios;
	}

	@Override
	public String toString() {
		StringBuilder builder = new StringBuilder();
		builder.append("ClienteInfoDTO [");
		builder.append(super.toString());
		builder.append(", telefonos=");
		if ( this.telefonos != null) {
			for (TelefonoDTO dto : this.telefonos) {
				builder.append(dto);
				builder.append(",");			
			}
		}
		builder.append(", domicilios=");
		if( this.domicilios != null) {
			for (DomicilioDTO dto : this.domicilios) {
				builder.append(dto);
				builder.append(",");			
			}
		}
		builder.append("]");
		return builder.toString();
	}


	public void setEliminados(List<Long> eliminados) {
		this.eliminados = eliminados;
	}

	public List<Long> getEliminados() {
		return this.eliminados;
	}
	
}
